The field of the invention is computing devices which store and retrieve character font data and which display same on dot-matrix displays. More specifically, this invention relates to a system and method for storing and displaying data which represents both fixed-width and compressed characters in computing devices having semiconductor memories and further having dot-matrix displays for displaying said characters.
1. Definitions
The term "character" herein is used to designate any letter, number, punctuation mark, or special character or symbol which can be produced on a display.
The term "font" herein is used to designate a complete collection of letters, punctuation marks, numbers, and special characters with a consistent and identifiable typeface, weight, posture (e.g., upright or italic) and size.
The term "fixed-width character" or "fixed-width format" is used herein to designate a character represented by a fixed or uniform number of columns of display "dots", irrespective of the particular nature or shape of said character.
The term "compressed character", "proportionally-spaced character", or "compressed format" is used herein to designate a character which may be represented by a variable number of columns of display "dots", depending upon the particular nature and shape of said character.
2. Background
Computing devices which retrieve serially stored data and display the characters represented by such data on dot matrix displays, are well known in the art. In such devices, data representing a particular portion of a subject character is stored in a distinct memory location or address within the device's semiconductor memory. As data is generally stored in such memory in the form of bytes, each memory address commonly contains one byte of information which represents a columnar portion of said character. The eight bits of said byte may then be set or not set in accordance with the particular shape and form of that particular columnar portion of the character; that is, each bit will be set to a digital 1 or 0 to indicate whether that particular "dot" of the dot matrix display which is associated with that particular bit will be activated, or turned "on".
One form of memory storage and display known in the art is shown in FIGS. 1a and 1b. Specifically, FIGS. 1a and 1b respectively show the letter "M" as stored as character font data in a semiconductor or similar memory, and as displayed on a dot matrix display. It will be appreciated that due to the presence of two diagonal lines in the letter "M", proper display of same requires at least five columns of the dot matrix display. Again, since each memory address generally contains one columnar portion of a character, five memory addresses (e.g., addresses 3001-3005 in FIG. 1a) are therefore also required, with, for example, memory address 3001 containing the information representing the leftmost columnar portion of the letter "M". As the last five bits of memory address 3001 are each set to "1", each dot of the dot matrix display will be activated or illuminated. (It will be seen from FIG. 1a that each of the first three bits of each byte is set to "X", to represent a "don't care" state. In accordance with the present invention, as set forth in the following discussion, these bits serve as flag bits which may be set or not set depending upon the width of the character to be displayed. However, for purposes of representation of a character or symbol on a display, these bits are ignored.)
As discussed above, at least five columns of a dot matrix display are required to accurately and properly represent the letter "M". In fact, all alphanumeric characters, and many symbols, may be displayed on a dot matrix display using five columns and five rows of a dot matrix display; that is, using a 5.times.5 dot matrix. However, it will be understood that some characters of any given font do not require as many as five columns in order to be fully and accurately represented. Thus, for example while the letter "M" requires five columns to be fully and accurately conveyed, the letter "H" could be completely displayed using only three columns. As display space is often limited (as is the case with timepiece displays), it would be desirable to display characters using the minimum amount of columns necessary to accurately represent each character or symbol; i.e., by using proportional-spacing or character compression. Furthermore, not only would such compressed characters require less display space, but, as importantly, the encoded data which represents such characters would also require a fewer number of memory addresses and thus less memory, which, as with display space, is also often at a premium, especially in smaller devices such as timepieces.
For purposes of simplicity of storage and retrieval memory, however, it is usually desirable to store character data using a uniform number of columns, and therefore memory addresses, to represent each character or symbol of any given character. Again, since some characters require at least five columns for complete representation, a uniform format would mandate that aft characters be represented by five columns, or five memory address locations. In such a system, these characters would all have a fixed or uniform "address width" (i.e., number of address locations), irrespective of the particular "address width" needed to represent any particular character, and any resulting display of that character on a display would also be of a uniform or fixed width. Thus, looking to the example above, the letter "H" would be represented by five columns of data, even though only three columns of display would be required.
Additionally, at certain times, legibility of the displayed characters and simplicity of editing messages comprising said displayed characters are paramount and therefore fixed-width characters would be more desirable. Specifically, given the greater average size of fixed-width characters, displayed messages using same would be more legible. Further, the vertical alignment of letters of corresponding columns in different lines which would result from using fixed-width characters may be desirable in certain instances.
Perhaps less obviously, fixed width characters allow simplified editing control. For example: if the user changed a displayed message from "MAP" to "TAP" using compressed-width characters, the computing device would be required to "shift" the "AP" portion to the left on the display, in order to compensate for the change in columnar width of the first letter (i.e., from five columns for the letter "M" to three columns for the letter "T"). As use of fixed-width characters requires the same number of display columns, such compensation is not required; therefore message display editing is simplified.
It would be desirable therefore to capitalize on both the storage simplicity of the fixed-width character font data and the display efficiency of the compressed-character font data, by providing a system which could store fixed-width character font data for each character but which could display the characters represented by such data using only the minimum amount of columns necessary to accurately represent same. While one solution would be to store separate data arrays for the fixed-width and compressed characters, this is an inefficient use of valuable memory space.
Therefore, it is an object of the present invention to provide a simple and efficient system and method of storing information and displaying same on a dot matrix display.
Another object of the present invention is to provide a system and method which will maximize the amount of information which may be displayed on a dot matrix display.
An additional object of the present invention is to provide a system and method which will maximize the amount of information which may be displayed on a dot matrix display yet will allow for simple storage of same.
Yet another object of the present invention is to provide a system and method of storing uniform character font data in a computer memory and displaying said data as fixed-width or compressed sized characters on a dot matrix display.
Still another object of the invention is to provide a system which simultaneously defines fixed-width and compressed characters where the compressed characters are selectively compressed versions of the fixed-width characters.
A further object of the present invention to provide a simple and efficient system and method of storing both fixed-width and compressed characters for a dot matrix display, such that the data for each character in both characters uses the same memory locations or addresses.